package com.ruoyi.web.ydz.domain;

import com.ruoyi.common.core.domain.entity.SysUser;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import java.util.List;

/**
 * 帖子回复对象 reply
 * 
 * @author ruoyi
 * @date 2024-10-29
 */
public class Reply extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 帖子ID */
    @Excel(name = "帖子ID")
    private Long invitationId;

    /** 父ID */
    @Excel(name = "父ID")
    private Long pid;

    /** 回复内容 */
    @Excel(name = "回复内容")
    private String replyContent;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long userId;

    /** 用户IP */
    @Excel(name = "用户IP")
    private String userIp;

    /** 用户归属地 */
    @Excel(name = "用户归属地")
    private String userArea;

    /** 回复点赞量 */
    @Excel(name = "回复点赞量")
    private String replyLike;

    /* (父级) 评论总数量 */
    private Long replyCount;

    /*评论用户信息*/
    private SysUser user;

    /** 是否封禁回复 0否 1是 */
    @Excel(name = "是否封禁回复 0否 1是")
    private String replyBan;

    /** 创建人名称 */
    @Excel(name = "创建人名称")
    private String createName;

    /** 更新人名称 */
    @Excel(name = "更新人名称")
    private String updateName;

    /** 是否删除（0否；1是） */
    private String delFlag;

    /*子级回复*/
    private List<Reply> childReply;

    /*父级别username*/
    private String pidName;

    /* 点赞总数量 */
    private Long replyLikeCount;

    /* 当前用户是否点赞 */
    private Boolean isLike;

    /*当前回是否属于当前用户*/
    private Boolean isOwner;

    /*回复所属帖子关联图片*/
    private List<AttachFile> attachFiles;

    /*所属帖子*/
    private Invitation invitation;

    public Invitation getInvitation() {
        return invitation;
    }

    public void setInvitation(Invitation invitation) {
        this.invitation = invitation;
    }

    public List<AttachFile> getAttachFiles() {
        return attachFiles;
    }

    public void setAttachFiles(List<AttachFile> attachFiles) {
        this.attachFiles = attachFiles;
    }

    public Boolean getIsOwner() {
        return isOwner;
    }

    public void setIsOwner(Boolean isOwner) {
        this.isOwner = isOwner;
    }

    public Long getReplyLikeCount() {
        return replyLikeCount;
    }

    public void setReplyLikeCount(Long replyLikeCount) {
        this.replyLikeCount = replyLikeCount;
    }

    public Boolean getIsLike() {
        return isLike;
    }

    public void setIsLike(Boolean isLike) {
        this.isLike = isLike;
    }

    public String getPidName() {
        return pidName;
    }

    public void setPidName(String pidName) {
        this.pidName = pidName;
    }

    public Long getReplyCount() {
        return replyCount;
    }

    public void setReplyCount(Long replyCount) {
        this.replyCount = replyCount;
    }

    public SysUser getUser() {
        return user;
    }

    public void setUser(SysUser user) {
        this.user = user;
    }

    public List<Reply> getChildReply() {
        return childReply;
    }

    public void setChildReply(List<Reply> childReply) {
        this.childReply = childReply;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setInvitationId(Long invitationId) 
    {
        this.invitationId = invitationId;
    }

    public Long getInvitationId() 
    {
        return invitationId;
    }
    public void setPid(Long pid) 
    {
        this.pid = pid;
    }

    public Long getPid() 
    {
        return pid;
    }
    public void setReplyContent(String replyContent) 
    {
        this.replyContent = replyContent;
    }

    public String getReplyContent() 
    {
        return replyContent;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setUserIp(String userIp) 
    {
        this.userIp = userIp;
    }

    public String getUserIp() 
    {
        return userIp;
    }
    public void setUserArea(String userArea) 
    {
        this.userArea = userArea;
    }

    public String getUserArea() 
    {
        return userArea;
    }
    public void setReplyLike(String replyLike) 
    {
        this.replyLike = replyLike;
    }

    public String getReplyLike() 
    {
        return replyLike;
    }
    public void setReplyBan(String replyBan)
    {
        this.replyBan = replyBan;
    }

    public String getReplyBan()
    {
        return replyBan;
    }
    public void setCreateName(String createName) 
    {
        this.createName = createName;
    }

    public String getCreateName() 
    {
        return createName;
    }
    public void setUpdateName(String updateName) 
    {
        this.updateName = updateName;
    }

    public String getUpdateName() 
    {
        return updateName;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("invitationId", getInvitationId())
            .append("pid", getPid())
            .append("replyContent", getReplyContent())
            .append("userId", getUserId())
            .append("userIp", getUserIp())
            .append("userArea", getUserArea())
            .append("replyLike", getReplyLike())
            .append("replyBan", getReplyBan())
            .append("createBy", getCreateBy())
            .append("createName", getCreateName())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateName", getUpdateName())
            .append("updateTime", getUpdateTime())
            .append("delFlag", getDelFlag())
            .toString();
    }
}
